n = 18673393753276502831598100340725293936585891991625565234517794338167291962180790798278729547956647103072995161764834403629390459961380941724080424214464334540943220678934784267770497881589277964599740675881892396240632376910409057085974654155823984824210524443397020164233993988006808713332138303278155861920692317320855348785642018280834032201609700061038597486805703011817745946581686966936079723000219151093960944860789767859112409851254722986241578729520145797920616068986051351521040910962924979612287975239985299930277249213029391390013768984382439074907919063267183360885163696841372093332142913477806444165843
c = 10862090400350585978284289816410408566952582936104991344363555244776242117072175499168246909412658419960247665765629837371029290491936697149127389847265183033158258702152251527453212624269220849496927233651512028413477645059323788763750462497017539790328087535740949337581879219943566120690417596506479600517497106991117464322515839417795592182922282608763095528910282288758507695455284946759918202375019774398034711095959991911632543161877432512382792317757678077827490851474561697616224266845161688558659156906203621165522023996149435031168207114111051794851755029479669494377537430902814994764762164962513741012984
e = 65537
import gmpy2
import libnum

p = gmpy2.gcd(n, c)
q = n // p
print(p, q)
phi = (p - 1) * (q - 1)
d = gmpy2.invert(e, phi)
m1 = pow(c, d, n)
print(m1)
m = m1 // p
print(libnum.n2s(int(m)))
